package com.china08.yxyapi.repository.db.continuedu;

import java.util.Date;
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import com.china08.yxyapi.entity.db.continuedu.YxyContinueduTask;

public interface YxyContinueduTaskRepository extends JpaRepository<YxyContinueduTask, String> {

    YxyContinueduTask findById(String taskId);

    Page<YxyContinueduTask> findByAreaCodeProvinceAndBeginDateLessThan(String areaIdProvince, Date date,
            Pageable pageable);

    List<YxyContinueduTask> findByEndDateLessThanAndStatusNot(Date date, int i);

    Page<YxyContinueduTask> findByAreaCodeProvinceAndStatus(String areaIdProvince, int i, Pageable pageable);

    Page<YxyContinueduTask> findByAreaCodeProvinceAndStatusAndNameContaining(String areaIdProvince, int i,
            String keyword, Pageable pageable);

    Page<YxyContinueduTask> findByIdInAndStatusAndAreaCodeProvince(List<String> idList, int i, String areaIdProvince,
            Pageable pageable);

    Page<YxyContinueduTask> findByIdInAndStatusAndAreaCodeProvinceAndNameContaining(List<String> idList, int i,
            String areaIdProvince, String keyword, Pageable pageable);

    Page<YxyContinueduTask> findByIdNotInAndStatusAndAreaCodeProvince(List<String> idList, int i, String areaIdProvince,
            Pageable pageable);

    Page<YxyContinueduTask> findByIdNotInAndStatusAndAreaCodeProvinceAndNameContaining(List<String> idList, int i,
            String areaIdProvince, String keyword, Pageable pageable);

    Page<YxyContinueduTask> findByAreaCodeProvinceAndStatusNot(String areaIdProvince, int i, Pageable pageable);

    Page<YxyContinueduTask> findByAreaCodeProvinceAndNameContainingAndStatusNot(String areaIdProvince, String keyword,
            int i, Pageable pageable);

    Page<YxyContinueduTask> findByIdInAndAreaCodeProvinceAndStatusNot(List<String> idList, String areaIdProvince, int i,
            Pageable pageable);

    Page<YxyContinueduTask> findByIdInAndAreaCodeProvinceAndNameContainingAndStatusNot(List<String> idList,
            String areaIdProvince, String keyword, int i, Pageable pageable);

    Page<YxyContinueduTask> findByIdNotInAndAreaCodeProvinceAndStatusNot(List<String> idList, String areaIdProvince,
            int i, Pageable pageable);

    Page<YxyContinueduTask> findByIdNotInAndAreaCodeProvinceAndNameContainingAndStatusNot(List<String> idList,
            String areaIdProvince, String keyword, int i, Pageable pageable);

    List<YxyContinueduTask> findByBeginDateAndEndDateGreaterThanEqual(Date date, Date date2);

    List<YxyContinueduTask> findByAreaCodeProvinceAndIdNotInAndStatus(String areaIdProvince, List<String> taskIds,
            int i);

    List<YxyContinueduTask> findByAreaCodeProvinceAndStatus(String areaIdProvince, int i);

}
